package com.example.yskjproject.http;


import android.text.TextUtils;

import com.example.yskjproject.utils.SpCashUtils;
import com.lzy.okgo.model.HttpHeaders;
import com.lzy.okgo.model.HttpMethod;

import java.lang.reflect.Type;

import io.reactivex.Observable;

/**
 * ApiService
 * <p>
 * 作者：zx
 * 创建时间：2024/4/18
 */
public class APIService {




//    public static Observable<String> getString(String header, String param) {
//        HttpHeaders headers = new HttpHeaders();
//        headers.put("aaa", header);
//        HttpParams params = new HttpParams();
//        params.put("bbb", param);
//        //这个RxUtils的封装其实没有必要，只是有些人喜欢这么干，我就多此一举写出来了。。
//        //这个RxUtils的封装其实没有必要，只是有些人喜欢这么干，我就多此一举写出来了。。
//        //这个RxUtils的封装其实没有必要，只是有些人喜欢这么干，我就多此一举写出来了。。
//        return RxUtils.request(HttpMethod.GET, Urls.URL_METHOD, String.class, params, headers);
//    }

    public static <T> Observable<T> getData(Type type, String url) {
        HttpHeaders headers = new HttpHeaders();
        if(!TextUtils.isEmpty(SpCashUtils.getInstance().getToken())){
        headers.put("Authorization", SpCashUtils.getInstance().getToken());
        }
//        HttpParams params = new HttpParams();
//        params.put("bbb", param);
        return RxUtils.request(HttpMethod.GET, url, type,null,headers);
    }

    public static <T> Observable<T> getPost(String url,Type type){
        if(!TextUtils.isEmpty(SpCashUtils.getInstance().getToken())){
            HttpHeaders headers = new HttpHeaders();
            headers.put("Authorization", SpCashUtils.getInstance().getToken());
        }

        return  RxUtils.request(HttpMethod.POST,url,type);
    }

//    public static Observable<Response<Bitmap>> getBitmap(String header, String param) {
//        return OkGo.<Bitmap>post(Urls.URL_IMAGE)//
//                .headers("aaa", header)//
//                .params("bbb", param)//
//                .converter(new BitmapConvert())//
//                .adapt(new ObservableResponse<Bitmap>());
//    }

//    public static Observable<Response<File>> getFile(String header, String param) {
//        return OkGo.<File>get(Urls.URL_DOWNLOAD)//
//                .headers("aaa", header)//
//                .params("bbb", param)//
//                .converter(new FileConvert())//
//                .adapt(new ObservableResponse<File>());
//    }
}
